package org.groupg.practice.guiPractice.awt;

import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Console;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class EventQs {
    private final Frame f = new Frame("测试事件");
    private final Button ok = new Button("确定");
    private final TextField tf = new TextField(30);

    public static void main(String[] args) {
        new EventQs().init();
    }

    public void init() {      // 注册事件监听器
        ok.addActionListener(new OkListener());  // ①
        f.add(tf);
        f.add(ok, BorderLayout.SOUTH);
        f.pack();
        f.setVisible(true);
    }

    // 定义事件监听器类
    class OkListener implements ActionListener  // ②
    {
        // 下面定义的方法就是事件处理器，用于响应特定的事件
        public void actionPerformed(ActionEvent e)     // ③
        {
            System.out.println("用户单击了OK按钮");
            Button source = (Button) e.getSource(); // 获取事件源
            Console.log(source.getLabel());
            tf.setText("Hello World");
            Console.log(DateUtil.date().toTimestamp());
        }
    }
}